using System;
using System.Collections.Generic;
using MikeKappel.Com.CS.PayPal.Model;

namespace MikeKappel.Com.CS.PayPal.Model
{
    /// <summary>
    /// Summary description for ExpressCheckoutDetails
    /// </summary>
    public class PayPalExpressCheckoutDetails : PayPalToken
    {
        public PayPalExpressCheckoutDetails(String token, PayPalPayer payer, PayPalPayerName payerName, PayPalAddress shipToAddress, PayPalPaymentDetail paymentDetails, List<PayPalPaymentDetailItem> detailItem, PayPalPaymentDetailEbay ebay)
            : base(token)
        {
            this.payer = payer;
            this.payerName = payerName;
            this.shipToAddress = shipToAddress;
            this.paymentDetails = paymentDetails;
            this.detailItem = detailItem;
            this.ebay = ebay;
        }
        /// <summary>
        ///Payer Information Fields 
        /// </summary>
        public PayPalPayer Payer
        {
            get
            {
                return payer;
            }
            set
            {
                payer = value;
            }
        }
        private PayPalPayer payer;

        /// <summary>
        ///Payer Name Fields  
        /// </summary>
        public PayPalPayerName PayerName
        {
            get
            {
                return payerName;
            }
            set
            {
                payerName = value;
            }
        }
        private PayPalPayerName payerName;

        /// <summary>
        ///Ship To Address 
        /// </summary>
        public PayPalAddress ShipToAddress
        {
            get
            {
                return shipToAddress;
            }
            set
            {
                shipToAddress = value;
            }
        }
        private PayPalAddress shipToAddress;

        /// <summary>
        ///Payer Name Fields  
        /// </summary>
        public PayPalPaymentDetail PaymentDetails
        {
            get
            {
                return paymentDetails;
            }
            set
            {
                paymentDetails = value;
            }
        }
        private PayPalPaymentDetail paymentDetails;



        /// <summary>
        ///Payer Name Fields  
        /// </summary>
        public List<PayPalPaymentDetailItem> DetailItem
        {
            get
            {
                return detailItem;
            }
            set
            {
                detailItem = value;
            }
        }
        private List<PayPalPaymentDetailItem> detailItem;

        /// <summary>
        ///Payer Name Fields  
        /// </summary>
        public PayPalUserSelectedOptions SelectedOptions
        {
            get
            {
                return selectedOptions;
            }
            set
            {
                selectedOptions = value;
            }
        }
        private PayPalUserSelectedOptions selectedOptions;

        /// <summary>
        ///Payer Name Fields  
        /// </summary>
        public PayPalPaymentDetailEbay Ebay
        {
            get
            {
                return ebay;
            }
            set
            {
                ebay = value;
            }
        }
        private PayPalPaymentDetailEbay ebay;
    }
}